package com.whc.gulimall.order.feign;

import com.whc.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 商品远程调用
 *
 * @author angaoen
 */
@FeignClient("gulimall-product")
public interface ProductFeignService {

    /**
     * 通过skuId列表获取商品信息列表
     *
     * @param skuIds skuId列表
     * @return 统一返回结果 Map<Long, ProductInfoVo>
     */
    @PostMapping("/product/spuinfo/product/infos")
    R mapProductInfos(@RequestBody List<Long> skuIds);

    /**
     * 根据skuId获取sku信息
     *
     * @param skuId skuId
     * @return 统一返回结果
     */
    @GetMapping("/info/{skuId}")
    R info(@PathVariable("skuId") Long skuId);
}
